package com.neusoft.tree;

import com.neusoft.entity.Hero;
import lombok.Data;

import java.util.Objects;

/**
 * @author lichunlong lcl253137@alibaba-inc.com
 * @desc 二叉树
 * @date 2025-01-09
 */
@Data
public class BinaryTree {

    /**
     * 根节点
     */
    private Node<Hero> rootNode;

    /**
     * 前序遍历
     */
    public void preOrder() {
        if (Objects.isNull(rootNode)) {
            System.out.println("二叉树为空，无法遍历");
            return;
        }
        rootNode.preOrder();
    }

    /**
     * 中序遍历
     */
    public void midOrder() {
        if (Objects.isNull(rootNode)) {
            System.out.println("二叉树为空，无法遍历");
            return;
        }
        rootNode.midOrder();
    }

    /**
     * 后序遍历
     */
    public void postOrder() {
        if (Objects.isNull(rootNode)) {
            System.out.println("二叉树为空，无法遍历");
            return;
        }
        rootNode.postOrder();
    }
}
